<?php
/*
 * Copyright (c) 2017-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Ccc\V20200210\Models;
use TencentCloud\Common\AbstractModel;

/**
 * DescribeAgentCruiseDialingCampaign response structure.
 *
 * @method string getName() Obtain Task name.
 * @method void setName(string $Name) Set Task name.
 * @method string getAgent() Obtain Agent account.
 * @method void setAgent(string $Agent) Set Agent account.
 * @method integer getConcurrencyNumber() Obtain Single-Round concurrent call volume 1-20.
 * @method void setConcurrencyNumber(integer $ConcurrencyNumber) Set Single-Round concurrent call volume 1-20.
 * @method integer getStartTime() Obtain Task start time. unix timestamp. the task will automatically start after this time.
 * @method void setStartTime(integer $StartTime) Set Task start time. unix timestamp. the task will automatically start after this time.
 * @method integer getEndTime() Obtain Task termination time. unix timestamp. the task will automatically terminate after this time.
 * @method void setEndTime(integer $EndTime) Set Task termination time. unix timestamp. the task will automatically terminate after this time.
 * @method integer getCallOrder() Obtain Being called sequence: 0 for random 1 for in order.
 * @method void setCallOrder(integer $CallOrder) Set Being called sequence: 0 for random 1 for in order.
 * @method string getUUI() Obtain Caller custom data, maximum length 1024.
 * @method void setUUI(string $UUI) Set Caller custom data, maximum length 1024.
 * @method integer getState() Obtain Task status 0 not started 1 running 2 completed 3 terminated.
 * @method void setState(integer $State) Set Task status 0 not started 1 running 2 completed 3 terminated.
 * @method integer getTotalCalleeCount() Obtain Total number of called parties.
 * @method void setTotalCalleeCount(integer $TotalCalleeCount) Set Total number of called parties.
 * @method integer getCalledCalleeCount() Obtain Number of calls made and received.
 * @method void setCalledCalleeCount(integer $CalledCalleeCount) Set Number of calls made and received.
 * @method string getRequestId() Obtain The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 * @method void setRequestId(string $RequestId) Set The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 */
class DescribeAgentCruiseDialingCampaignResponse extends AbstractModel
{
    /**
     * @var string Task name.
     */
    public $Name;

    /**
     * @var string Agent account.
     */
    public $Agent;

    /**
     * @var integer Single-Round concurrent call volume 1-20.
     */
    public $ConcurrencyNumber;

    /**
     * @var integer Task start time. unix timestamp. the task will automatically start after this time.
     */
    public $StartTime;

    /**
     * @var integer Task termination time. unix timestamp. the task will automatically terminate after this time.
     */
    public $EndTime;

    /**
     * @var integer Being called sequence: 0 for random 1 for in order.
     */
    public $CallOrder;

    /**
     * @var string Caller custom data, maximum length 1024.
     */
    public $UUI;

    /**
     * @var integer Task status 0 not started 1 running 2 completed 3 terminated.
     */
    public $State;

    /**
     * @var integer Total number of called parties.
     */
    public $TotalCalleeCount;

    /**
     * @var integer Number of calls made and received.
     */
    public $CalledCalleeCount;

    /**
     * @var string The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    public $RequestId;

    /**
     * @param string $Name Task name.
     * @param string $Agent Agent account.
     * @param integer $ConcurrencyNumber Single-Round concurrent call volume 1-20.
     * @param integer $StartTime Task start time. unix timestamp. the task will automatically start after this time.
     * @param integer $EndTime Task termination time. unix timestamp. the task will automatically terminate after this time.
     * @param integer $CallOrder Being called sequence: 0 for random 1 for in order.
     * @param string $UUI Caller custom data, maximum length 1024.
     * @param integer $State Task status 0 not started 1 running 2 completed 3 terminated.
     * @param integer $TotalCalleeCount Total number of called parties.
     * @param integer $CalledCalleeCount Number of calls made and received.
     * @param string $RequestId The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("Name",$param) and $param["Name"] !== null) {
            $this->Name = $param["Name"];
        }

        if (array_key_exists("Agent",$param) and $param["Agent"] !== null) {
            $this->Agent = $param["Agent"];
        }

        if (array_key_exists("ConcurrencyNumber",$param) and $param["ConcurrencyNumber"] !== null) {
            $this->ConcurrencyNumber = $param["ConcurrencyNumber"];
        }

        if (array_key_exists("StartTime",$param) and $param["StartTime"] !== null) {
            $this->StartTime = $param["StartTime"];
        }

        if (array_key_exists("EndTime",$param) and $param["EndTime"] !== null) {
            $this->EndTime = $param["EndTime"];
        }

        if (array_key_exists("CallOrder",$param) and $param["CallOrder"] !== null) {
            $this->CallOrder = $param["CallOrder"];
        }

        if (array_key_exists("UUI",$param) and $param["UUI"] !== null) {
            $this->UUI = $param["UUI"];
        }

        if (array_key_exists("State",$param) and $param["State"] !== null) {
            $this->State = $param["State"];
        }

        if (array_key_exists("TotalCalleeCount",$param) and $param["TotalCalleeCount"] !== null) {
            $this->TotalCalleeCount = $param["TotalCalleeCount"];
        }

        if (array_key_exists("CalledCalleeCount",$param) and $param["CalledCalleeCount"] !== null) {
            $this->CalledCalleeCount = $param["CalledCalleeCount"];
        }

        if (array_key_exists("RequestId",$param) and $param["RequestId"] !== null) {
            $this->RequestId = $param["RequestId"];
        }
    }
}
